HDMI显示彩色条

引言

本文档将详细介绍如何使用 Vivado 2021 和 Vitis 2021 通过配置硬件及软件、引脚约束等,在电脑显示屏上通过 HDMI 接口显示出四条彩色条。文中将结合所提供的工程模块硬件设计图、实验结果显示图和系统框图进行说明。

硬件设计

模块分析

系统框图分析

系统框图如下:

image-20250626150515752

PS(Processing System)部分

PL(Programmable Logic)部分

硬件设计

将HDMI 驱动部分封装成 IP 核,以便后续直接导入。

在之前的硬件设计基础上,我们需要添加ZYNQ IP 核的设计:

image-20250625135911109

image-20250625140119414

image-20250625140224589

配置完成后的IP核:

image-20250626111640069

搜索vdma核并按下图进行配置:

image-20250625140433000

image-20250625140638518

搜索timing核并按下图进行配置:

image-20250625140706307

image-20250625140834752

搜索veido out核并按下图进行配置:

image-20250625140915948

image-20250625141007912

搜索clock核并按下图进行配置:

image-20250625141143824

image-20250625141334224

image-20250625141725063

添加自定义IP:dvi_transmitter。该 IP 核位于工程目录下的 ip_repo 文件夹中。

image-20250902135018005

添加完成之后进行连接并引出外部端口(只需要引出 TMDS 端口)。pclk_x5连接到上一步时钟输出的clkout2上。

image-20250902135110255

进行连线,然后点击“Run Connnection Automation”,下面列出了会自动连接的模块及其接口,勾选“All Automation”,然后点击“OK”按钮。此时系统会自动生成 AXI Interconnect(axi_mem_intercon) 和 AXI Interconnect(ps7_0_axi_periph) 两个模块。另外系统也自动生成了 1 个 reset 模块(rst_ps7_0_150M),用于复位总线上的外设。

image-20250902135212880

block design 修改完成后保存,然后重新 Generate Output Products 和“Create HDL Wrapper”。接下来我们还要修改约束文件,根据原理图为 HDMI 接口分配引脚。

image-20250702110735874

image-20250624175025843

image-20250702111512801

保存约束文件,然后进行之后操作重新生成 BIT 文件。

软件设计

右击创建的平台工程,点击Update Hardware Specification:选择.xsa文件路径,出现以下弹框,点击OK,说明更新成功。好的习惯:更新完之后继续右击平台工程Build一下。

image-20250626115247673

image-20250626115304993

编译调试

编译工程成功后,用type-c USB线将开发板的JTAG和电脑连接,使用另外一根type-c USB线将开发板的PS UART和电脑连接。使用 HDMI 线将开发板的 HDMI 输出接口连接到电脑显示器的 HDMI 输入接口。

在电脑上打开串口调试工具MobaXterm,和开发板的PS UART建立连接。

image-20250626115930751

在vitis上进入调试模式:在Debug As,选择第一个。全速运行就可以通过串口看到调试信息。

image-20250626150414017

调试结果如下:

image-20250626115909635

运行结果如下:

image-20250626120025754